s1_generate_a_series_of_files() {
    for i in $(seq 1 100); do
        echo "$i" > "/tmp/new_file$i"
    done
}

s2_list_4_files_in_long_format_about_account_and_group() {
    ls -ld /etc/{passwd,shadow,group,gshadow} | sort
}

s3_find_items_related_to_given_username() {
    local username=$1
    (grep "^$username:" /etc/passwd && grep "^$username:" /etc/shadow) | sort
}

s4_find_items_related_to_given_group_name() {
    local groupname=$1
    (grep "^$groupname:" /etc/group && grep "^$groupname:" /etc/gshadow) | sort
}

s5_create_groups_for_given_group_names() {
    local groups=("rnd" "itoperation")
    for g in "${groups[@]}"; do
        groupadd "$g"
    done
}

s6_create_users_and_set_their_group_as_required() {
    local users=("adam" "bob" "calvin" "david" "edward")
    for u in "${users[@]}"; do
        useradd -m -s /bin/bash "$u"
        if [[ "$u" == "adam" || "$u" == "bob" || "$u" == "edward" ]]; then
            usermod -aG rnd "$u"
        elif [[ "$u" == "calvin" || "$u" == "david" ]]; then
            usermod -aG itoperation "$u"
        fi
    done
}

s7_change_users_shell() {
    local users=("adam" "edward")
    for u in "${users[@]}"; do
        usermod -s /usr/bin/sh "$u"
    done
}

s8_set_password_change_policy() {
    local users=("adam" "bob" "calvin" "david" "edward")
    for u in "${users[@]}"; do
        chage -m 10 -M 60 -W 10 "$u"
    done
}

s9_set_password_for_five_users() {
    local passwords=("$@")
    local users=("adam" "bob" "calvin" "david" "edward")
    for i in $(seq 0 4); do
        echo "${users[$i]}:${passwords[$i]}" | chpasswd
    done
}

s10_lock_bobs_password() {
    usermod -L bob
}

s11_include_adam_into_wheel_group() {
    usermod -aG wheel adam
}

s12_change_files_permission() {
    for i in $(seq 3 3 99); do
        chmod 600 "/tmp/new_file$i"
    done
}
